home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / winview / winview.frm < prev    next >
Text File  |  1999-09-15  |  21KB  |  686 lines

  1. VERSION 5.00
  2. Object = "{6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.3#0"; "COMCTL32.OCX"
  3. Begin VB.Form Winview 
  4.    Caption         =   "WinView"
  5.    ClientHeight    =   3555
  6.    ClientLeft      =   1335
  7.    ClientTop       =   1635
  8.    ClientWidth     =   11280
  9.    BeginProperty Font 
  10.       Name            =   "MS Sans Serif"
  11.       Size            =   8.25
  12.       Charset         =   0
  13.       Weight          =   700
  14.       Underline       =   0   'False
  15.       Italic          =   0   'False
  16.       Strikethrough   =   0   'False
  17.    EndProperty
  18.    ForeColor       =   &H80000008&
  19.    LinkMode        =   1  'Source
  20.    LinkTopic       =   "Form1"
  21.    PaletteMode     =   1  'UseZOrder
  22.    ScaleHeight     =   237
  23.    ScaleMode       =   3  'Pixel
  24.    ScaleWidth      =   752
  25.    Begin VB.PictureBox picCatch 
  26.       Height          =   375
  27.       Left            =   6240
  28.       ScaleHeight     =   315
  29.       ScaleWidth      =   615
  30.       TabIndex        =   8
  31.       Top             =   3000
  32.       Width           =   675
  33.    End
  34.    Begin VB.CommandButton cmdPosition 
  35.       Caption         =   "Position"
  36.       Height          =   435
  37.       Left            =   240
  38.       TabIndex        =   2
  39.       Top             =   2460
  40.       Width           =   975
  41.    End
  42.    Begin VB.CommandButton cmdSize 
  43.       Caption         =   "Size"
  44.       Height          =   435
  45.       Left            =   1320
  46.       TabIndex        =   3
  47.       Top             =   2460
  48.       Width           =   975
  49.    End
  50.    Begin VB.CommandButton cmdClassInfo 
  51.       Caption         =   "ClassInfo"
  52.       Height          =   435
  53.       Left            =   2400
  54.       TabIndex        =   4
  55.       Top             =   2460
  56.       Width           =   975
  57.    End
  58.    Begin VB.CommandButton cmdWinStyles 
  59.       Caption         =   "WinStyles"
  60.       Height          =   435
  61.       Left            =   3480
  62.       TabIndex        =   5
  63.       Top             =   2460
  64.       Width           =   1035
  65.    End
  66.    Begin VB.CommandButton cmdFlash 
  67.       Caption         =   "Flash"
  68.       Height          =   435
  69.       Left            =   4620
  70.       TabIndex        =   6
  71.       Top             =   2460
  72.       Width           =   975
  73.    End
  74.    Begin VB.CommandButton cmdCtlName 
  75.       Caption         =   "CtlName"
  76.       Height          =   435
  77.       Left            =   240
  78.       TabIndex        =   7
  79.       Top             =   3000
  80.       Width           =   975
  81.    End
  82.    Begin VB.CommandButton cmdParent 
  83.       Caption         =   "Parent"
  84.       Height          =   435
  85.       Left            =   1320
  86.       TabIndex        =   1
  87.       Top             =   3000
  88.       Width           =   975
  89.    End
  90.    Begin ComctlLib.ListView lvwWindows 
  91.       Height          =   2010
  92.       Left            =   240
  93.       TabIndex        =   10
  94.       Top             =   360
  95.       Width           =   10770
  96.       _ExtentX        =   18997
  97.       _ExtentY        =   3545
  98.       View            =   3
  99.       LabelEdit       =   1
  100.       Sorted          =   -1  'True
  101.       LabelWrap       =   -1  'True
  102.       HideSelection   =   -1  'True
  103.       _Version        =   327682
  104.       ForeColor       =   -2147483640
  105.       BackColor       =   16777215
  106.       BorderStyle     =   1
  107.       Appearance      =   1
  108.       NumItems        =   4
  109.       BeginProperty ColumnHeader(1) {0713E8C7-850A-101B-AFC0-4210102A8DA7} 
  110.          Key             =   ""
  111.          Object.Tag             =   ""
  112.          Text            =   "hWnd"
  113.          Object.Width           =   2999
  114.       EndProperty
  115.       BeginProperty ColumnHeader(2) {0713E8C7-850A-101B-AFC0-4210102A8DA7} 
  116.          SubItemIndex    =   1
  117.          Key             =   ""
  118.          Object.Tag             =   ""
  119.          Text            =   "ExePath"
  120.          Object.Width           =   1587
  121.       EndProperty
  122.       BeginProperty ColumnHeader(3) {0713E8C7-850A-101B-AFC0-4210102A8DA7} 
  123.          SubItemIndex    =   2
  124.          Key             =   ""
  125.          Object.Tag             =   ""
  126.          Text            =   "Class"
  127.          Object.Width           =   3175
  128.       EndProperty
  129.       BeginProperty ColumnHeader(4) {0713E8C7-850A-101B-AFC0-4210102A8DA7} 
  130.          SubItemIndex    =   3
  131.          Key             =   ""
  132.          Object.Tag             =   ""
  133.          Text            =   "WindowText"
  134.          Object.Width           =   1587
  135.       EndProperty
  136.    End
  137.    Begin VB.Label lblHere 
  138.       Alignment       =   1  'Right Justify
  139.       Caption         =   "Click Here For point mode 2 -->"
  140.       Height          =   255
  141.       Left            =   3420
  142.       TabIndex        =   9
  143.       Top             =   3120
  144.       Width           =   2835
  145.    End
  146.    Begin VB.Label lblMsg 
  147.       Height          =   195
  148.       Left            =   240
  149.       TabIndex        =   0
  150.       Top             =   120
  151.       Width           =   5415
  152.    End
  153.    Begin VB.Menu mnuLoadList 
  154.       Caption         =   "LoadList"
  155.       Begin VB.Menu mnuTopLevel 
  156.          Caption         =   "&TopLevel"
  157.          Shortcut        =   ^T
  158.       End
  159.       Begin VB.Menu mnuChildren 
  160.          Caption         =   "&Children"
  161.          Shortcut        =   ^C
  162.       End
  163.       Begin VB.Menu mnuOwned 
  164.          Caption         =   "&Owned"
  165.          Shortcut        =   ^O
  166.       End
  167.       Begin VB.Menu MenuPointed 
  168.          Caption         =   "&Pointed"
  169.          Shortcut        =   ^P
  170.       End
  171.       Begin VB.Menu mnuClear 
  172.          Caption         =   "C&lear"
  173.       End
  174.    End
  175. End
  176. Attribute VB_Name = "Winview"
  177. Attribute VB_GlobalNameSpace = False
  178. Attribute VB_Creatable = False
  179. Attribute VB_PredeclaredId = True
  180. Attribute VB_Exposed = False
  181. Option Explicit
  182.  
  183. Private Enum enPointMode
  184.     enPointModeOff = 0
  185.     enPointModeMenu = 1
  186.     enPointModePic = 2
  187. End Enum
  188.  
  189. Private genPointMode As enPointMode
  190.  
  191. Private Sub Form_Load()
  192.     SetListviewStyle lvwWindows.hWnd, LVS_EX_FULLROWSELECT, True
  193. End Sub
  194.  
  195. ' If point mode was started via menu, record the current window
  196. ' in the listbox
  197. Private Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
  198.     If genPointMode <> enPointModeMenu Then Exit Sub
  199.     
  200.     AddToList lblMsg.Caption
  201.     genPointMode = enPointModeOff
  202.     lblMsg.Caption = ""
  203.     
  204.     ' If capture is still held, release it
  205.     If GetCapture() = Me.hWnd Then ReleaseCapture
  206. End Sub
  207.  
  208. ' If point mode was started via PictureBox, record the current window
  209. ' in the listbox
  210. Private Sub Form_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
  211.     If genPointMode <> enPointModePic Then Exit Sub
  212.     
  213.     AddToList lblMsg.Caption
  214.     genPointMode = enPointModeOff
  215.     lblMsg.Caption = ""
  216.     
  217.     ' If capture is still held, release it
  218.     If GetCapture() = Me.hWnd Then ReleaseCapture
  219. End Sub
  220.  
  221. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
  222.     Dim tPT As POINTAPI
  223.     Dim hWndFound As Long
  224.  
  225.     ' Only record window if we're in point mode
  226.     If genPointMode = enPointModeOff Then Exit Sub
  227.     
  228.     ' convert clienet-coordinates to logical-coordinates
  229.     tPT.x = x
  230.     tPT.y = y
  231.     ClientToScreen Me.hWnd, tPT
  232.     
  233.     ' get Window-Handle and Description
  234.     hWndFound = WindowFromPoint(tPT.x, tPT.y)
  235.     lblMsg.Caption = GetWindowDesc(hWndFound)
  236. End Sub
  237.  
  238. '------------------------------------------------------------------------------
  239.  
  240. ' Show the position of the selected window
  241. Private Sub cmdPosition_Click()
  242.     Dim tRECTWnd As RECT
  243.     Dim hWnd As Long
  244.     Dim sOut As String
  245.     Dim sTitle As String
  246.  
  247.     If lvwWindows.SelectedItem Is Nothing Then
  248.         MsgBox "No windows selected", 0, "Error"
  249.         Exit Sub
  250.     End If
  251.  
  252.     sTitle = lvwWindows.SelectedItem
  253.     hWnd = GetHWnd(sTitle)
  254.  
  255.     ' Get the rectangle describing the window
  256.     GetWindowRect hWnd, tRECTWnd
  257.  
  258.     If IsIconic(hWnd) Then sOut = "Is Iconic" & vbCrLf
  259.     If IsZoomed(hWnd) Then sOut = sOut & "Is Zoomed" & vbCrLf
  260.     If IsWindowEnabled(hWnd) Then
  261.         sOut = sOut & "Is Enabled" & vbCrLf
  262.     Else
  263.         sOut = sOut & "Is Disabled" &